home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 2 / 64er_Magazin_Sonderheft_02_86-02_1986_Markt__Technik_de.d64 / listing 10 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  96 lines

  1. 1000 rem *** sprite-ueberlagerung ***
  2. 1010 :
  3. 1020 :
  4. 1030 rem ** ausgabe programmeldung
  5. 1040 :
  6. 1050 print "[147]bitte warten"
  7. 1060 :
  8. 1070 :
  9. 1080 rem ** sprite-daten laden
  10. 1090 :
  11. 1100 for n = 832 to 894
  12. 1110 :   poke n, 60
  13. 1120 next n
  14. 1130 :
  15. 1140 :
  16. 1150 rem ** sprite-register vorbereiten
  17. 1160 :
  18. 1170 print "[147]"      :rem schirm loesch.
  19. 1180 vic = 53248    :rem grafikbaustein
  20. 1190 :
  21. 1200 poke 2040,13   :rem datenzeiger 1
  22. 1210 poke 2041,13   :rem datenzeiger 2
  23. 1220 poke 2042,13   :rem datenzeiger 3
  24. 1230 poke 2043,13   :rem datenzeiger 4
  25. 1240 :
  26. 1250 poke vic,226   :rem horzntl.pos. 0
  27. 1260 poke vic+2,94  :rem horzntl.pos. 1
  28. 1270 poke vic+4,144 :rem horzntl.pos. 2
  29. 1280 poke vic+6,176 :rem horzntl.pos. 3
  30. 1290 :
  31. 1300 poke vic+1,140 :rem vertal.pos. 0
  32. 1310 poke vic+3,118 :rem vertal.pos. 1
  33. 1320 poke vic+5,190 :rem vertal.pos. 2
  34. 1330 poke vic+7,68  :rem vertal.pos. 3
  35. 1340 :
  36. 1350 poke vic+39,7  :rem 0 ist gelb
  37. 1360 poke vic+40,5  :rem 1 ist gruen
  38. 1370 poke vic+41,3  :rem 2 ist hellblau
  39. 1380 poke vic+42,1  :rem 3 ist weiss
  40. 1390 :
  41. 1400 poke vic+23,15 :rem alle sprites
  42. 1410 poke vic+29,15 :rem dopp. groesse
  43. 1420 :
  44. 1430 poke vic+21,15 :rem sprite 0-3 an
  45. 1440 :
  46. 1450 :
  47. 1460 rem ** beweg.register vorbereiten
  48. 1470 rem    und anf.schritte zuweisen
  49. 1480 :
  50. 1490 mr(0) = vic   : mr(1) = vic+2
  51. 1500 mr(2) = vic+5 : mr(3) = vic+7
  52. 1510 :
  53. 1520 mv(0) = -1 : mv(1) = 1
  54. 1530 mv(2) = -1 : mv(3) = 1
  55. 1540 :
  56. 1550 df = -1 :rem -1=n.innen 0=n.aussen
  57. 1560 :
  58. 1570 :
  59. 1580 rem ** sprite bewegen
  60. 1590 :
  61. 1600 for count = 1 to 200
  62. 1610 :   sprnum = int((count-1)/50)
  63. 1620 :   if df then sprnum = 3 - sprnum
  64. 1630 :   reg = mr(sprnum)
  65. 1640 :   move = mv(sprnum)
  66. 1650 :   poke reg, peek(reg) + move
  67. 1660 :   get kp$
  68. 1670 :   if kp$= "" then 1690
  69. 1680 :      count = 200 : keypress = -1
  70. 1690 next count
  71. 1700 :
  72. 1710 :
  73. 1720 rem ** prog.end nach tastendruck
  74. 1730 :
  75. 1740 if keypress then 1900
  76. 1750 :
  77. 1760 :
  78. 1770 rem ** pause, dann richtung um-
  79. 1780 rem    kehren und von vorn
  80. 1790 :
  81. 1800 for delay = 1 to 400 : next delay
  82. 1810 for sprnum = 0 to 3
  83. 1820 :   mv(sprnum) = -1 * mv(sprnum)
  84. 1830 next sprnum
  85. 1840 df = -1 - df
  86. 1850 goto 1600
  87. 1860 :
  88. 1870 :
  89. 1880 rem ** register zuruecksetzen
  90. 1890 :
  91. 1900 poke vic+21,0
  92. 1910 poke vic+29,0
  93. 1920 poke vic+23,0
  94. 1930 :
  95. 1940 end
  96.